import axios from 'axios';
import {commonJsonRequest, commonUrlRequest, loginRequest, req} from './axiosFun';

// 登录接口 
export const login = (params) => {
  return loginRequest("v1/m/sys/login", params)
};
// 获取用户菜单
export const menu = (userId) => {
  return req("get", "v1/m/" + userId + "/auth/info").then(res => res.data)
};
// 退出接口
export const loginout = () => {
  return axios.get("v1/m/sys/logout").then(res => res.data)
};

/**
 * 用户管理
 **/
// 用户管理-获取用户列表
export const userList = (params) => {
  return req("get", "/v1/m/sys/user", params)
};
// 用户管理-保存（添加编辑）
export const userSave = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/user", params)
};
// 用户管理-保存（添加编辑）
export const userUpdate = (params) => {
  return commonJsonRequest("patch", "/v1/m/sys/user", params)
};
// 用户禁用
export const userActive = (params) => {
  return commonJsonRequest("patch", "/v1/m/sys/user/active", params)
};
// 用户管理-重置密码
export const resetPwd = (params) => {
  return req("patch", "/v1/m/sys/user/password", params)
};
// 用户管理-用户下线
export const offline = (userId) => {
  return commonUrlRequest("get", "/v1/m/sys/user/" + userId + "/offline")
};
// 用户管理-刷新缓存
export const refreshCache = (userId) => {
  return commonUrlRequest("get", "/v1/m/sys/user/" + userId + "/refresh/cache")
};
//绑定角色
export const bindRoles = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/user/roles", params)
};

/**
 * 菜单管理
 **/
// 菜单管理-获取菜单Module/list
export const ModuleList = () => {
  return req("post", "/api/Module/list")
};
// 菜单管理-根据菜单获取数据
export const ModuleGet = (params) => {
  return axios.get("/api/Module/get/" + params + "?token=" + localStorage.getItem('Authorization'))
};
// 菜单管理-获取父级菜单Module/nodes
export const ModuleNodes = (params) => {
  return req("post", "/api/Module/nodes", params)
};
// 菜单管理-修改菜单
export const ModuleSave = (params) => {
  return req("post", "/api/Module/save", params)
};
// 菜单管理-删除菜单
export const ModuleDelete = (params) => {
  return axios.delete("/api/Module/delete?ids=" + params + "&token=" + localStorage.getItem('Authorization')).then(res => res.data)
};

/**
 * 角色管理
 **/
// 角色管理-获取角色列表
export const roleList = (params) => {
  return req("get", "/v1/m/sys/role", params)
};
// 角色管理-保存（添加编辑）
export const roleSave = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/role", params)
};
// 角色管理-删除角色
export const roleDelete = (id) => {
  return commonUrlRequest("delete", "/v1/m/sys/role/" + id)
};
// 角色管理-查询权限
export const showBindPermission = (id) => {
  return commonUrlRequest("delete", "/v1/m/sys/role/" + id)
};
// 角色管理-分配权限
export const bindPermission = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/role/permissions", params)
};
//获取角色commbo下拉框值
export const roleComboList = (keyword) => {
  return commonUrlRequest("get", "/v1/m/sys/role/combo?keyword=", keyword)
};

/**
 * 公司管理
 **/
// 公司管理-获取公司列表
export const deptList = (params) => {
  return req("post", "/api/Dept/list", params)
};
// 公司管理-保存（添加编辑）
export const deptSave = (params) => {
  return req("post", "/api/Dept/save", params)
};
// 公司管理-删除公司
export const deptDelete = (params) => {
  return axios.get("/api/Dept/delete?ids=" + params + "&token=" + localStorage.getItem('Authorization')).then(res => res.data)
};

/**
 * 系统环境变量
 **/
// 系统环境变量-获取系统环境变量列表
export const variableList = (params) => {
  return req("get", "/v1/m/sys/variable", params)
};
// 系统环境变量-保存（添加编辑）
export const variableSave = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/variable", params)
};
// 系统环境变量-删除系统环境变量
export const variableDelete = (varId) => {
  return commonUrlRequest("delete", "/v1/m/sys/variable/" + varId);
};
// 系统环境变量-获取部署环境列表
export const variableEnvs = () => {
  return commonUrlRequest("get", "/v1/m/sys/variable/envs");
};

/**
 * 权限管理
 **/
// 权限管理-获取权限列表
export const permissionList = (params) => {
  return req("get", "/v1/m/sys/permission", params)
};
// 权限管理-添加权限
export const permissionSave = (params) => {
  return commonJsonRequest("post", "/v1/m/sys/permission", params)
};
// 权限管理-修改权限
export const permissionUpdate = (params) => {
  return commonJsonRequest("put", "/v1/m/sys/permission", params)
};
// 权限管理-删除权限
export const permissionDelete = (id) => {
  return commonUrlRequest("delete", "/v1/m/sys/permission/" + id)
};
//绑定资源
export const bindPermissionResource = (params) => {
  return commonJsonRequest("put", "/v1/m/sys/permission/menus", params)
};
//权限下拉框
export const permissionComboList = (keyword) => {
  return commonUrlRequest("get", "/v1/m/sys/permission/all?keyword=", keyword)
};
